Game engines - Easy Fps Editor часть 2

Сегодня мы поговорим о

Easy Fps Editor

(Часть 2)

Кубические карты нужны для изменения текстуры каждой грани стены.

Для этого вам необходимо создать специальную текстуру, содержащую все необходимые изображения. Вы можете использовать этот образец ниже:

Все текстуры должны быть прямоугольными, а отображение выглядит следующим образом (сверху вниз, если игрок смотрит вверх по редактору):

Если вам нужно изменить только верхнюю и нижнюю стороны, рекомендуется использовать высокую текстуру:

Верхняя текстура станет текстурой для основных сторон, а нижняя станет верхней и нижней сторонами блока.

Чтобы использовать эти текстуры, просто добавьте их на карту, как обычно.

Текстура дверей выглядит одинаково: верхняя текстура является текстурой двери, а нижняя текстурой дверного косяка (см. «Модификаторы»).

Триггеры — это блоки, которые воспроизводят звук или выполняют скрипт, когда игрок проходит через них. Их можно размещать только на полу.

Вы можете установить скрипт или звук на правой панели, нажав «Триггеры»:

Просто выберите тип файла, который вам нужен в фильтрах.

Терминалы — это блоки, которые может использовать игрок. Их можно размещать только на плитке или полу.

По сути, они просто вызывают скрипт, который вы можете установить на правой панели, нажав «Терминалы»:

Предупреждение: сценарии должны иметь очень строгий формат. Их неправильное написание может сломать вашу игру. Используйте с осторожностью и всегда проверяйте свои скрипты!


Чтобы использовать систему сценариев, вам необходимо создать файл сценария в «Data/Scripts». Это простой текстовый файл с расширением «.script» (если у вас не включены расширения в проводнике, вам следует сделать это прямо сейчас. Если вы не хотите, вам придется найти где-нибудь пример файла сценария. и отредактируйте его). Имя файла скрипта может быть:

Язык сценариев очень прост в использовании:

Команды пишутся каждая на своей строке. Любой аргумент, необходимый этим командам, должен быть разделен одним пробелом. Вот и все, команды выполняются в порядке сверху вниз в файле.

Пример:

image Character Sprites/Characters/Character.png
show Character 0 0 2
text "Hello World!"
hide Character 2
timeout 2
map start

Этот скрипт загрузит изображение, установит его имя в качестве символа, покажет его на 0, 0 в течение 2 секунд, покажет текст на экране, скроет изображение в течение 2 секунд, установит тайм-аут на 2 секунды, запустит карту.

Переменные

Переменная — это имя, к которому вы можете привязать определенное значение. Существует три вида переменных:

Чтобы установить переменную, вам просто нужно написать ее имя и значение, разделенные знаком «=". «глобальный». префикс предназначен для глобальных переменных «map». для переменных карты:

global.value=10
map.value="Character"
value=10

Чтобы использовать переменную, вам нужно поставить символ $ перед ее именем:

text "$global.value"
image $map.value Sprites/Characters/Character.png
text "$value"

Если вам нужно что-то вычислить (а переменная — это число), используйте следующие операторы:

value+=2 //Добавление
value-=2 //Вычитание
value*=2 //Умножение
value/=2 //Подразделение
value%=2 //Операция по модулю
value++ //Инкремент (увеличение на 1)
value-- //Декремент (уменьшение на 1)

Переменным также можно установить значение «RANDOM(x,y)», чтобы выбрать случайное число между x (включительно) и y (исключительно):

value=RANDOM(0,3) //Randomly sets 'value' to either 0,1, or 2

Условия

Условия — это блоки кода, которые будут выполняться только при выполнении некоторых условий. Имейте в виду: «if» и компаратор тоже являются командами, поэтому ДОЛЖНЫ быть пробелы, разделяющие их:

if $value == 1 {
map next
} else {
map goto 3

Код внутри блока if будет выполняться только в том случае, если значение равно 1. Код внутри блока else будет выполняться, если значение НЕ равно 1. Блок Else можно опустить, если он вам не нужен:

if $value == 1 {
map next
}

Вместо "==" вы можете использовать:

Процедуры

Процедуры — это фрагменты кода, которые можно использовать в любое время. Ключевое слово «конец» обозначает завершение процедуры, поэтому убедитесь, что их достаточно:

procedure helloworld
text "Hello World!"
end; //semicolon in necessary if you have more than one procedure
procedure helloworld2
text "Hello World 2!"
end

Вызов процедуры осуществляется с помощью команды «call»:

call helloworld
call helloworld2

Процедуры существуют только внутри одного файла. Если они вам нужны в другом файле, вам придется их скопировать.


Внутри «Data/Scripts» находится файл сценария главного меню под названием «Menu.script». Он использует свои собственные команды, но по сути это скрипт. Любой пункт меню жестко запрограммирован, поэтому все, что вы можете сделать, это изменить его положение и добавить текст.